package com.py.credit.dao;

import com.py.credit.entity.*;
import com.py.framework.core.common.Page;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface UploadPublicDao {
    List<SupervisoryReview> getSupervisoryReviewByFr(@Param("tableName") String tableName);

    List<SupervisoryReview> getSupervisoryReviewByZrr(@Param("tableName") String tableName);

    List<XzqzEntity> getXzqzByFr(@Param("tableName") String tableName);

    List<XzqzEntity> getXzqzByZrr(@Param("tableName") String tableName);

    List<XzzsEntity> getXzzsFr(@Param("tableName") String tableName);

    List<XzzsEntity> getXzzsByZrr(@Param("tableName") String tableName);

    List<XzjfEntity> getXzjfByFr(@Param("tableName") String tableName);

    List<XzjfEntity> getXzjfByZrr(@Param("tableName") String tableName);

    List<XzjlEntity> getXzjlByFr(@Param("tableName") String tableName);

    List<XzjlEntity> getXzjlByZrr(@Param("tableName") String tableName);

    List<XzcjEntity> getXzcjByFr(@Param("tableName") String tableName);

    List<XzcjEntity> getXzcjByZrr(@Param("tableName") String tableName);

    List<XzqrEntity> getXzqrByFr(@Param("tableName") String tableName);

    List<XzqrEntity> getXzqrByZrr(@Param("tableName") String tableName);

    List<XzqtglEntity> getXzqtByFr(@Param("tableName") String tableName);

    List<XzqtglEntity> getXzqtByZrr(@Param("tableName") String tableName);

    List<CcjgEntity> getCcjg(@Param("tableName") String tableName);

    List<CcrwEntity> getCcrw(@Param("tableName") String tableName);

	void updateXzStatusByRecordIds(@Param("tableName")String tableName,@Param("sfdsSzb")String sfdsSzb,@Param("TSZT")String TSZT,@Param("SBYY")String SBYY,@Param("recordIds") List<String> recordIds);

	void saveSubmitLogsInfo(@Param("logsInfo")SubmitLogsInfo logsInfo);

	void saveSubmitLogsDetails(@Param("list") ArrayList<SubmitLogsDetails> detList);

    List<Map<String,Object>> selectSubmitLogsConfigs(@Param("tableName")String tableName);

    List<Map<String,Object>> selectSubmitLogsInfosForPage(@Param(value = "param") Map<String,Object> param, @Param(value = "page")Page page);

    List<Map<String, Object>> selectData(@Param("tableName")String tableName, @Param("tid")List<String> tid);

    List<SupervisoryReview> getSupervisoryReviewByFrByBatchId(@Param("tableName")String tableName,@Param("batchId")String batchId);

    List<SupervisoryReview> getSupervisoryReviewByZrrByBatchId(@Param("tableName")String tableName, @Param("batchId")String batchId);

    List<XzqzEntity> getXzqzByFrByBatchId(@Param("tableName")String tableName, @Param("batchId")String batchId);

    List<XzqzEntity> getXzqzByZrrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzzsEntity> getXzzsFrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzzsEntity> getXzzsByZrrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzjfEntity> getXzjfByFrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzjfEntity> getXzjfByZrrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzjlEntity> getXzjlByFrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzjlEntity> getXzjlByZrrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzcjEntity> getXzcjByFrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzcjEntity> getXzcjByZrrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzqrEntity> getXzqrByFrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzqrEntity> getXzqrByZrrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzqtglEntity> getXzqtByFrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<XzqtglEntity> getXzqtByZrrByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<CcjgEntity> getCcjgByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<CcrwEntity> getCcrwByBatchId(@Param("tableName") String tableName, @Param("batchId")String batchId);

    List<Map<String,Object>> selectDataByBatchId(@Param("tableName")String tableName, @Param("batchId")String batchId);

    int deleteDataByBatchIdAndTSZT(@Param("tableName")String tableName, @Param("batchId")String batchId);
}
